package cn.wolfcode.manage.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import cn.wolfcode.common.annotation.Excel;
import cn.wolfcode.common.core.domain.BaseEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 薪资管理对象 salary
 *
 * @author wj
 * @date 2025-01-18
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Salary extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 员工id */
    @Excel(name = "员工id")
    private Long employeeId;

    /** 员工姓名 */
    @Excel(name = "员工姓名")
    private String employeeName;

    /** 员工年龄 */
    @Excel(name = "员工年龄")
    private Long employeeAge;

    /** 员工基础薪资 */
    @Excel(name = "员工基础薪资")
    private BigDecimal baseSalary;

    /** 保险公积金扣除 */
    @Excel(name = "保险公积金扣除")
    private BigDecimal funtDeduct;

    /** 实发薪资 */
    @Excel(name = "实发薪资")
    private BigDecimal actualSalary;

    /** 发放时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT + 8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "发放时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date releaseTime;

    /** 薪资确认 */
    @Excel(name = "薪资确认")
    private Long salaryConfirm;


}
